/****************************************************************************
 *
 * This file is part of the CodeMax editor support code.
 *
 * Primary author: Christopher J. Cason.
 *
 * from Persistence of Vision(tm) Ray Tracer version 3.6.
 * Copyright 1991-2003 Persistence of Vision Team
 * Copyright 2003-2004 Persistence of Vision Raytracer Pty. Ltd.
 *---------------------------------------------------------------------------
 * NOTICE: This source code file is provided so that users may experiment
 * with enhancements to POV-Ray and to port the software to platforms other
 * than those supported by the POV-Ray developers. There are strict rules
 * regarding how you are permitted to use this file. These rules are contained
 * in the distribution and derivative versions licenses which should have been
 * provided with this file.
 *
 * These licences may be found online, linked from the end-user license
 * agreement that is located at http://www.povray.org/povlegal.html
 *---------------------------------------------------------------------------
 * This program is based on the popular DKB raytracer version 2.12.
 * DKBTrace was originally written by David K. Buck.
 * DKBTrace Ver 2.0-2.12 were written by David K. Buck & Aaron A. Collins.
 *---------------------------------------------------------------------------
 * Thanks to WinMain Software (http://www.winmain.com/) for providing the (at
 * the time commercial) CodeMax edit control which the POVWIN editor is based.
 *---------------------------------------------------------------------------
 * $File: //depot/misc/win-sourcedist/codemax/PrintOptions.h $
 * $Revision: #1 $
 * $Change: 2944 $
 * $DateTime: 2004/07/05 13:11:12 $
 * $Author: chrisc $
 * $Log$
 *****************************************************************************/

#ifndef PrintOptionsH
#define PrintOptionsH
//----------------------------------------------------------------------------
#include <SysUtils.hpp>
#include <Windows.hpp>
#include <Messages.hpp>
#include <Classes.hpp>
#include <Graphics.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <ExtCtrls.hpp>
#include <Forms.hpp>
#include <Buttons.hpp>
#include <Dialogs.hpp>
#include "cspin.h"
#include <Mask.hpp>
//----------------------------------------------------------------------------
class TPrintForm : public TForm
{
  __published:
    TFontDialog *FontDialog;
    TBitBtn *PrintButton;
    TBitBtn *CancelButton;
    TGroupBox *GroupBox1;
    TLabel *FontSampleLabel;
    TBitBtn *ChooseButton;
    TGroupBox *GroupBox2;
    TBitBtn *SetupButton;
    TCheckBox *LineNumbers;
    TCheckBox *Header;
    TCheckBox *WrapLines;
    TLabel *SourceFileLabel;
    TCheckBox *PrintMarkedBlock;
    TGroupBox *GroupBox3;
    TCSpinEdit *LeftMargin;
    TLabel *Label1;
    TLabel *Label2;
    TCSpinEdit *TopMargin;
    TLabel *Label3;
    TCSpinEdit *RightMargin;
    TLabel *Label4;
    TCSpinEdit *BottomMargin;
    TCheckBox *PageBreaks;
    TPrinterSetupDialog *SetupDialog;
    TPanel *MessagePanel;
    TLabel *InfoLabel;
    TLabel *Label5;
    TCheckBox *HighlightComments;
    TCheckBox *TwoUpPrinting;
    void __fastcall ChooseButtonClick(TObject *Sender);

    void __fastcall FormShow(TObject *Sender);

    void __fastcall SetupButtonClick(TObject *Sender);

    void __fastcall CancelButtonClick(TObject *Sender);
    void __fastcall PrintButtonClick(TObject *Sender);
    void __fastcall FormKeyPress(TObject *Sender, char &Key);
    void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
    void __fastcall FormHide(TObject *Sender);
    void __fastcall TwoUpPrintingClick(TObject *Sender);
    void __fastcall FormCreate(TObject *Sender);
  private:
    bool FPrinting ;
    bool FCancel ;

  public:
    TCodeMax *e ;
    bool PrintCancel ;
	virtual __fastcall TPrintForm(TComponent *Owner);
    void PrintFile (void) ;

  __published:
    __property bool Printing = {read = FPrinting} ;
    __property bool Cancel = {read = FCancel, write = FCancel} ;
};
//----------------------------------------------------------------------------
extern PACKAGE TPrintForm *PrintForm;
//----------------------------------------------------------------------------
#endif
